package org.suwenqian.airoleplayingchatbackend.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 聊天会话实体类，对应数据库中的聊天会话表。
 * 包含会话的基本信息，如会话ID、用户ID、AI角色ID等。
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@TableName("conversation")
public class ConversationDO {
    /**
     * 会话ID，主键，自增。
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 用户ID，外键关联user表，不能为空。
     */
    private Long userId;

    /**
     * AI角色ID，外键关联role表，不能为空。
     */
    private Long roleId;

    /**
     * 会话标题，可由AI或用户生成，可选。
     */
    private String title;

    /**
     * 会话开始时间，默认值为当前时间戳。
     */
    private LocalDateTime createdAt;

    /**
     * 会话最后更新时间，默认值为当前时间戳，并在更新时自动更新。
     */
    private LocalDateTime updatedAt;

}
